﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Libreria.RFID.Modelo;

namespace Libreria.RFID.Negocio
{
    public class TipoDeDocumentoNegocio
    {
        public List<TipoDeDocumento> consultarTiposDeDocumento(String CadenaDeConexion)
        {
            TipoDeDocumento tiposDeDocumento = new TipoDeDocumento(CadenaDeConexion);
            return tiposDeDocumento.consultar();
        }
        public TipoDeDocumento consultarPorCodigo(Int32 codigotipodocumento, String CadenaDeConexion)
        {
            TipoDeDocumento tiposdedocumento = new TipoDeDocumento(CadenaDeConexion);
            return tiposdedocumento.consultarPorCodigo(codigotipodocumento);
        }

        public void crearTiposDeDocumento(Int32 Codigo, String Nombre, String CadenaDeConexion)
        {
            TipoDeDocumento TipoDeDocumentoAEliminar = new TipoDeDocumento(CadenaDeConexion);
            TipoDeDocumentoAEliminar.Codigo = null;
            TipoDeDocumentoAEliminar.Nombre = Nombre;
            TipoDeDocumentoAEliminar.crear();
        }

        public void actualizarTipoDeDocumento(Int32 Codigo, String Nombre, String CadenaDeConexion)
        {
            TipoDeDocumento TipoDeDocumentoAEliminar = new TipoDeDocumento(CadenaDeConexion);
            TipoDeDocumentoAEliminar.Codigo = Codigo;
            TipoDeDocumentoAEliminar.Nombre = Nombre;
            TipoDeDocumentoAEliminar.actualizar();
        }

        public void eliminarTipoDeDocumento(Int32 Codigo, String CadenaDeConexion,out String mensaje)
        {
            List<Persona> lista = new List<Persona>();
            mensaje = "";
            Persona personas = new Persona(CadenaDeConexion);
            personas.Codigo = null;
            personas.TipoDeDocumento = Codigo;
            personas.NumeroDeDocumento = null;
            personas.Nombre = null;
            personas.Apellido = null;
            personas.Genero = null;
            personas.FechaDeNacimiento = DateTime.MinValue;
            personas.Direccion = null;
            personas.Telefono = null;
            personas.CorreoElectronico = null;
            personas.Estado = null;

            lista = personas.consultar();

            if (lista.Count() == 0)
            {

                TipoDeDocumento TipoDeDocumentoAEliminar = new TipoDeDocumento(CadenaDeConexion);
                TipoDeDocumentoAEliminar.Codigo = Codigo;
                TipoDeDocumentoAEliminar.Nombre = null;
                TipoDeDocumentoAEliminar.eliminar();
            }
            else {
                mensaje = "No se puede eliminar el Tipo de Documento, lo esta utilizando otra tabla";
            }
        }
    }
}
